package com.example.warehouse_manager.service;

import com.example.warehouse_manager.dto.AssignAuthDto;
import com.example.warehouse_manager.entity.Result;
import com.example.warehouse_manager.entity.Role;
import com.example.warehouse_manager.page.Page;

import java.util.List;

/**
* @author Yang
* @description 针对表【role(角色表)】的数据库操作Service
* @createDate 2024-03-04 16:25:47
*/

public interface RoleService{

    //查询所有角色
    public List<Role> queryAllRole();


    //根据用户id查询用户分配的角色
    public List<Role> queryUserRoleById(Integer id);

    //分页查询角色的业务
    public Page queryRolePage(Page page,Role role);

    //添加角色
    public Result saveRole(Role role);

    //启用或禁用角色的业务方法
    public Result setRoleState(Role role);

    //根据角色id删除角色
    public Result deleteRoleById(Integer roleId);

    //查询角色分配的所有权限菜单的id的业务方法
    public List<Integer> queryRoleAuthIds(Integer roleId);

    //给角色分配权限
    public void saveRoleAuth(AssignAuthDto assignAuthDto);

    //根据角色id修改角色
    public Result setROleByRid(Role role);

}
